/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ADT;



/**
 *
 * @author Martin
 */
public final class Values implements IValues{
    public static final int ZERO = 0;
    // PRIVATE LENGTH CONSTANTS
    static final double FEET_IN_METERS = 0.3048;
    static final double KILO = 1000.;
    static final double SEC_TO_HOUR = 3600;
    static final double MSEC_TO_KMH = 3.6;
    public Values(){};
    public static Work workInJ(double work){return WorkInJ.valueOf(work);}
    
    public static Power powerInW(double power){return PowerInW.valueOf(power);}
    public static Power powerInKw(double power){return PowerInW.valueOf(power / KILO);}
    public static Speed speedInMs(double speed){return SpeedInMs.valueOf(speed);}
    
    public static TimeDiff timeDiffInS(double time){return TimeDiffInS.valueOf(time);}
    
    public static Length lengthInM(double length){return LengthInM.valueOf(length);}
    //public force factories
    public static Force forceInN(double force){return ForceInN.valueOf(force);}
    
    //public Acceleration Factories
    public static Acc accInMss(double acc){return AccInMss.valueOf(acc);}
    //public Acceleration constants
    public static final Acc ZeroAcc = accInMss(0.0);
    public static final Acc AccEarth = accInMss(9.81);
    //public Mass accessors
    public static Mass massInKg(double mass){return MassInKg.valueOf(mass);}
}
